package com.runen.wnhz.runen.common.utils;

import android.content.Context;
import android.text.TextUtils;

import com.runen.wnhz.runen.common.login.Wx.WxLoginInfo;
import com.runen.wnhz.runen.data.entity.UserBean;
import com.yzq.zxinglibrary.common.Constant;

import java.util.HashMap;
import java.util.Map;

import static android.R.attr.data;

/**
 * Created by Administrator on 2018-04-25.
 * 用于缓存各种数据的
 */

public class ACacheUtlis {

    //懒汉模式
    private static ACacheUtlis interfice;

    private ACacheUtlis() {
    }

    public static ACacheUtlis getInstance() {
        if (interfice == null) {
            synchronized (ACacheUtlis.class) {
                interfice = new ACacheUtlis();
            }
        }
        return interfice;
    }


    /**
     * 是否第一次进入App
     *
     * @return Null
     */
    public void IsFirstToApp(Context context, String name) {
        ACache.get(context).put(Constants.ISFIRSTOAPP, name);
    }

    /**
     * 是否登录
     *
     * @return Null
     */
    public void isLogin(Context context, String name) {
        ACache.get(context).put(Constants.isLogin, name);
    }

    /**
     * 读出是否第一次进入App
     *
     * @return Null
     */
    public String IsFirstToApp(Context context) {
        String asString = ACache.get(context).getAsString(Constants.ISFIRSTOAPP);
        return asString;
    }

    /**
     * 来源
     * */
    String comming = "main";
    public String CommingFrom(String commings){
        if(commings != null && !commings.equals("")){
            comming = commings;
        }
        return comming;
    }
    /**
     * 读出是否第一次进入App
     *
     * @return Null
     */
    public String isLogin(Context context) {
        String asString = ACache.get(context).getAsString(Constants.isLogin);
        return asString;
    }

    /**
     *
     "token": "b76b5d4245ce94b22a781bc13791e61f",
     "username": "",
     "head_img": "http://img3.imgtn.bdimg.com/it/u=3599989605,2377066072&fm=27&gp=0.jpg"
     */

    /**
     * 保存用户登录信息
     *
     * @retrun
     */

    public void IsRequstUser(Context context, String token, String username, String head_img, String phone) {
        ACache.get(context).put(Constants.UserName, username);
        ACache.get(context).put(Constants.UserToken, token);
        ACache.get(context).put(Constants.UserImage, head_img);
        ACache.get(context).put(Constants.PHONE, phone);
    }

    public void saveWxInfoToken(Context context, String wxToken, String wxOpenId, String wxRefreshToken) {
        ACache.get(context).put(Constants.WxToken, wxToken);
        ACache.get(context).put(Constants.WxOpenId, wxOpenId);
        ACache.get(context).put(Constants.WxRefreshToken, wxRefreshToken);
    }
    public void saveWxInfoUserinfo(Context context,String head_img,String nickname,String logtype) {
        ACache.get(context).put(Constants.WxHeadImg,head_img);
        ACache.get(context).put(Constants.WxNickName,nickname);
        ACache.get(context).put(Constants.WxLOGTYPE,logtype);
    }

    public void saveWxInfo(Context context, String wxToken, String wxOpenId, String wxRefreshToken,String head_img,String nickname,String logtype) {
        ACache.get(context).put(Constants.WxToken, wxToken);
        ACache.get(context).put(Constants.WxOpenId, wxOpenId);
        ACache.get(context).put(Constants.WxRefreshToken, wxRefreshToken);
        ACache.get(context).put(Constants.WxHeadImg,head_img);
        ACache.get(context).put(Constants.WxNickName,nickname);
        ACache.get(context).put(Constants.WxLOGTYPE,logtype);
    }

    public WxLoginInfo getWxInfo(Context context) {
        return new WxLoginInfo(ACache.get(context).getAsString(Constants.WxToken)
                , ACache.get(context).getAsString(Constants.WxOpenId)
                , ACache.get(context).getAsString(Constants.WxRefreshToken)
                , ACache.get(context).getAsString(Constants.WxHeadImg)
                , ACache.get(context).getAsString(Constants.WxNickName)
                , ACache.get(context).getAsString(Constants.WxLOGTYPE)
        );
    }

    /**
     * 取出用户登陆信息
     */
    public UserBean getReqeustUser(Context context) {
        String UserName = ACache.get(context).getAsString(Constants.UserName);
        String UserToken = ACache.get(context).getAsString(Constants.UserToken);
        String UserImage = ACache.get(context).getAsString(Constants.UserImage);
        String phone = ACache.get(context).getAsString(Constants.PHONE);
        UserBean userBean = null;
        if (!TextUtils.isEmpty(UserToken) && !TextUtils.isEmpty(UserName)) {
            userBean = new UserBean();
            userBean.setHead_img(UserImage);
            userBean.setToken(UserToken);
            userBean.setUsername(UserName);
            userBean.setPhone(phone);
        }
        return userBean;
    }


    /**
     * 清空用户信息
     * */

    /**
     * 清空数据缓存信息
     * */

    /**
     * 清空所有信息
     *
     * */

}
